Note : I blogged about this study.

See here for other iPython notebooks on this project.

Project (datasets and the source code) is available on GitHub


In [1]:
%cd ..


C:\Users\Talha\Documents\WinPython3\projects\News-Commentary-Tweets-of-Elites

In [2]:
import pandas as pd
import plotly.plotly as py
from plotly.graph_objs import *
from mykeys import tw
import networkx as nx
import itertools

In [51]:
get_party_representation()


Out[51]:

In [66]:
get_party_activity()


Out[66]:

In [67]:
plot_MP_activity()


Out[67]:

In [68]:
df = pd.read_csv('data/TR-tweeps-En.csv',encoding='utf-8')
x  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
df = df[df.profs.str.contains('|'.join(x))]
df


Out[68]:
twhandle name fcnt profs
9 abdulkadiraksu1 Abdülkadir Aksu 68 AKP, MP
11 aberatconkar Ahmet Berat Çonkar 2 MP, AKP
12 acaliskan40 Abdullah Çalışkan 22 MP, AKP
14 ackilic76 Akif Çağatay Kılıç 2 AKP, MP
21 adnankeskinCHP Adnan Keskin 10 MP, CHP
22 afifd Afif Demirkıran 10 MP, AKP
24 AhmetBOgutken Ahmet Baha Öğütken 10 MP, AKP
35 Ahmet_Davutoglu Ahmet Davutoğlu 71 MP, AKP
45 Akif_Hamzacebi Akif Hamzaçebi 0 MP, CHP
64 aliozgunduz Ali Özgündüz 14 Legist, CHP, MP
66 alirizaozturk33 Ali Rıza Öztürk 10 MP, CHP, Legist
67 AliSahin501 Ali Şahin 11 MP, AKP
101 Atalay_Besir Beşir Atalay 1 MP, AKP
103 atillakart Atilla Kart 13 CHP, MP
113 avhamzadag Hamza Dağ 2 AKP, MP
116 av_idrissahin İdris Şahin 4 MP, AKP
120 aydinsengul35 Aydın Şengul 1 MP, AKP
123 aykanerdemir Aykan Erdemir 8 MP, CHP
125 aykuterdogdu Aykut Erdoğdu 23 MP, CHP
127 Ayla_Akat Ayla Akat 18 MP, HDP
129 AylinNazliaka Aylin Nazlıaka 33 MP, CHP
170 BelmaSatir Mihrimah Belma Satır 3 MP, AKP
183 BilalMacit Bilal Macit 4 MP, AKP
185 birgulaguler Birgül Ayman Güler 14 MP, CHP
190 bkusoglu Bülent Kuşoğlu 6 MP, CHP
197 bulenttezcanchp Bulent Tezcan 8 MP, CHP
198 bulent_arinc Bülent Arınç 43 MP, AKP
206 BurhanKuzu Burhan Kuzu 18 MP, AKP
213 bybekirbozdag Bekir Bozdağ 33 MP, AKP
222 CandanYceer Candan Yüceer 20 MP, CHP
... ... ... ... ...
1063 sinanaaygun Sinan Aygün 3 MP, CHP
1069 SIRIN_UNAL Şirin Ünal 0 MP, AKP
1071 sirsureyya Sırrı Süreyya Önder 11 MP, HDP
1075 skulkuloglu M.Şevki Kulkuloğlu 6 MP, CHP
1086 suatkilic Suat Kılıç 16 MP, AKP
1089 suheylbatum Süheyl Batum 5 MP, CHP
1103 S_Celebi Süleyman Çelebi 7 MP, CHP
1135 ToprakBinnaz Binnaz Toprak 1 MP, CHP
1150 TugrulTurkes Tuğrul Türkeş 0 MP, MHP
1151 TulaySelamoglu Tülay Selamoğlu 3 MP, AKP
1158 tuncelsebahat Sebahat Tuncel 7 HDP, MP
1162 turgutdibek Turgut Dibek 4 MP, CHP
1165 T_MenderesTurel Menderes Türel 5 MP, AKP
1185 UmutOranCHP Umut Oran 9 CHP, MP
1194 Vahit_Kiler Vahit KİLER 1 MP, AKP
1200 vekilince Muharrem İnce 40 MP, CHP
1201 veliagbaba Veli Ağbaba 8 MP, CHP
1203 VeyselEroglu Veysel Eroğlu 11 MP, AKP
1208 volkan_bozkir Volkan Bozkır 3 MP, AKP
1211 Aysenurislam Ayşenur İslam 0 AKP, MP
1235 yeniceriozcan Özcan Yeniçeri 3 MP, MHP
1251 yramazanoglu Yıldırım Ramazanoğlu 4 MP, AKP
1253 yukselozden Yüksel Özden 4 MP, AKP
1256 yusufhalacoglu Yusuf Halaçoğlu 13 MP, MHP
1262 Y_Akdogan Yalçın Akdoğan 11 MP, AKP
1271 zelkifkazdal Zelkif Kazdal 3 MP, AKP
1274 ZeybekciNihat Nihat Zeybekçi 1 MP, AKP
1282 zkarahanuslu Zeynep Karahan Uslu 6 MP, AKP
1286 _cevdetyilmaz Cevdet Yılmaz 5 MP, AKP
1288 _fatihsahin Fatih Şahin 7 MP, AKP

167 rows × 4 columns


In [69]:
# group by titles
tweets = pd.read_csv('data/TR-tweets.csv',encoding='utf-8',parse_dates=['dt'])
tweets.twhandle = tweets.twhandle.str[1:]
title = tweets.groupby(by=['title','dt'])['twhandle']

In [70]:
# get monitored screen_names for each party
df = pd.read_csv('data/TR-tweeps-En.csv',encoding='utf-8')
groups  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
group = {}
mps = set()
for p in groups:
    group[p] = set(df[df.profs.str.contains(p)].twhandle.tolist())
    mps.update(group[p])

In [73]:
# get number of MPs of each party for each title
news = {}
def get_twbyp(g,partililer):
    tweeps = g.values.tolist()
    return len([t for t in tweeps if t in partililer])
    
for p in groups:
    news[p] = title.apply(lambda g: get_twbyp(g,group[p]))
    #news[p] = title.apply(lambda g: len(group[p] & set(g.values))) # number of MPs for the title

In [74]:
#sum all commentated titles up, 
polnews = pd.Series(index=news['Independent'].index,data=0)
for p in groups:
    print (news[p].sum(),'comments made on',news[p][news[p]>0].size,'news by',p)
    polnews = polnews.add(news[p])
print (polnews.sum(),'comments made on',polnews[polnews>0].size,'news by TBMM (any MP)')


6678 comments made on 2747 news by AKP
14228 comments made on 4925 news by CHP
3039 comments made on 2133 news by MHP
1140 comments made on 753 news by HDP
1915 comments made on 1471 news by Independent
27000 comments made on 6839 news by TBMM (any MP)

In [10]:
# for each party calculate diff = party - others
diff = {}
for p in groups:
    diff[p] = 2*news[p] - polnews

In [11]:
# the most commentated events by all MPS
polnews.order(ascending=False).head(60)


Out[11]:
title                                                          dt        
İşte demokratikleşme paketi                                    2013-09-30    55
Berkin Elvan yaşam mücadelesini kaybetti                       2014-03-11    50
Öğretmenler günü kutlu olsun                                   2013-11-24    50
Mutlu yıllar Türkiye                                           2013-12-31    47
Cumhuriyet’in 90′ıncı yılı kutlu olsun                         2013-10-29    44
Büyük Zafer’in 91′inci yılı                                    2013-08-30    41
Ramazan ayı başladı                                            2013-07-09    40
Kemal Kılıçdaroğlu’na Meclis’te yumruklu saldırı               2014-04-08    39
Bugün Dünya Engelliler Günü                                    2013-12-03    37
Nice 19 Mayıslara…                                             2013-05-19    36
Darbenin adı: 12 Eylül 1980                                    2013-09-12    36
Bugün Dünya Engelliler Günü                                    2014-12-03    36
24 Kasım Öğretmenler Günü kutlu olsun                          2014-11-24    36
Mutlu yıllar Türkiye                                           2014-12-31    35
Çanakkale Zaferi’nin 99′uncu yıl dönümü                        2014-03-18    35
Büyük Zafer’in 92′nci yılı                                     2014-08-30    35
Genç’ten Emine Erdoğan protestosu                              2013-11-26    34
Başörtülü milletvekilleri Meclis’te                            2013-10-31    33
Türkiye ateş çemberinde – nediyor.com                          2013-05-11    33
Cumhuriyet’in 91′inci yılı kutlu olsun                         2014-10-29    33
Fezlekeler okutulmadı; muhalefet ayaklandı                     2014-03-19    32
MHP seçim bürosuna silahlı saldırı: 1 ölü                      2014-01-26    32
Sivas’ta yaşamını yitirenler anıldı                            2013-07-02    32
Nejat Uygur yaşamını yitirdi                                   2013-11-18    32
Paketten beklentiler farklı                                    2013-09-30    32
Bugün Mevlid Kandili                                           2014-01-12    32
Hacıbektaş saldırganı serbest                                  2013-08-18    31
Hatay’da bir eylemci daha yaşamını yitirdi                     2013-09-10    30
Miraç Kandili kutlandı                                         2014-05-25    30
İşte kabinenin 10 yeni üyesi                                   2013-12-25    30
Yüz binler Berkin’i son yolculuğuna uğurladı                   2014-03-12    30
Marmaray açıldı; ilk sefer yapıldı                             2013-10-29    30
Mustafa Balbay tahliye edildi                                  2013-12-10    29
AK Parti’de Davutoğlu dönemi başladı                           2014-08-27    29
12 Eylül’ün üzerinden 34 yıl geçti                             2014-09-12    29
Başbakan canlı yayında ağladı                                  2013-08-22    28
19 Eylül Gaziler Günü kutlanıyor                               2013-09-19    27
İstanbul’da 1 Mayıs: “142 gözaltı 90 yaralı”                   2014-05-01    27
Ağaoğlu ve bazı bakan çocukları gözaltında                     2013-12-17    27
Helikopter kazasının şehitleri uğurlandı                       2013-12-18    27
Başbakan Menderes anılıyor                                     2013-09-17    27
Çanakkale Zaferi’nin 98′inci yıldönümü – nediyor.com           2013-03-18    27
Başbakan’dan Kazlıçeşme mesajları                              2013-06-16    27
21 yıldır aydınlanmayan suikast                                2014-01-24    27
“Büyük Rüşvet” Türkiye’yi sarstı                               2013-12-18    27
17 Aralık’ın üzerinden 1 yıl geçti                             2014-12-17    27
İnfial yaratan dövülme görüntüleri                             2013-08-22    27
“Destek verenler de aynı familyadan”                           2013-06-09    26
CHP 90 yaşında                                                 2013-09-09    26
Twitter yanıtı: “Gayri milli suçlaması sığ eleştiri”           2014-04-25    26
Bugün çalışan gazetecilerin günü                               2014-01-10    26
Kömür ocağında patlama: 300 madenci mahsur                     2014-05-13    26
Erdoğan: “Anladığınız dilden yanıt veririz”                    2013-06-09    25
Gezi’ye son kurban Eskişehir’den                               2013-07-10    25
23 Nisan kutlu olsun                                           2014-04-23    25
Resmileşen Ergenekon’a ceza yağmuru                            2013-08-05    25
Deniz Gezmiş ve arkadaşları anıldı – nediyor.com               2013-05-06    25
AK Parti: “Başbakan Erdoğan cumhurbaşkanı adayımız”            2014-07-01    25
Taksim’de gergin gece                                          2013-06-11    25
Çarşı hakim önünde: “Gücümüz olsa Kartal’ı şampiyon yapardık”  2014-12-16    25
dtype: int64

In [12]:
# Number of commentations on events by AKP MPs - Other MPs
diff['AKP'].order(ascending=False)


Out[12]:
title                                                          dt        
AK Parti’de Davutoğlu dönemi başladı                           2014-08-27    21
Başbakan Menderes anılıyor                                     2013-09-17    19
Genç’ten Emine Erdoğan protestosu                              2013-11-26    18
Marmaray açıldı; ilk sefer yapıldı                             2013-10-29    18
AK Parti 13′üncü yılını kutluyor                               2014-08-14    18
AK Parti 11 yıldır iktidarda                                   2013-11-03    16
AK Partililerden “DirenÇözüm” atağı                            2013-06-29    15
ODTÜ videosunun yankısı sürüyor                                2013-09-05    14
Başörtülü milletvekilleri Meclis’te                            2013-10-31    13
Adnan Menderes idam edilmesinin 53′üncü yılı                   2014-09-17    12
IMF ve dış borç tartışması dolu dizgin – nediyor.com           2013-05-14    12
Çankaya Köşkü’nde devir teslim gerçekleşti                     2014-08-28    11
AK Partili Şahin eşine veda etti                               2014-11-28    11
Tartışmaların odağı Marmaray                                   2013-10-27    11
Yemin töreninde gerginlik; CHP’liler kitapçık fırlattı         2014-08-28    11
Erdoğan yemin etti; resmen 12′nci Cumhurbaşkanı                2014-08-28    11
Erdoğan’dan Köşk’te 30 Ağustos resepsiyonu                     2014-08-30     9
Davutoğlu bin 245 delegenin imzasıyla aday                     2014-08-27     9
Başbakan’dan CHP’ye ağır Mısır eleştirisi                      2013-09-03     9
27 Mayıs Darbesi’nin 53′üncü yılı                              2013-05-27     9
Berat Kandili kutlandı                                         2013-06-23     8
27 Mayıs’ın 54′üncü yılı                                       2014-05-27     8
Ankara-İstanbul YHT hattı bugün açıldı                         2014-07-25     8
Maltepe mitingi için uçuş yasağı                               2014-08-03     8
Başbakan’ın doğum günü kutlanıyor                              2014-02-26     8
Başbakan “Kürdistan bölgesini” selamladı                       2013-11-16     7
Halkalı’da aşura matemi                                        2013-11-13     7
Srebrenitsa’da 18 yıldır dinmeyen acı                          2013-07-11     7
“Torba Kanun Tasarısı” Meclis’ten geçti                        2014-09-10     7
Kılıçdaroğlu’ndan Başbakan’a sert sözler                       2013-10-29     7
                                                                             ..
Berkin Elvan doğum gününde anılıyor                            2015-01-05   -16
Meclis’te fezlekeler için genel görüşmeye ret                  2014-03-19   -17
İstanbul’da 1 Mayıs: “142 gözaltı 90 yaralı”                   2014-05-01   -17
Soruşturma Komisyonu: “Yüce Divan’a gerek yok”                 2015-01-05   -17
Isparta’da kaza: 17 mevsimlik işçi öldü                        2014-10-31   -17
Twitter’a erişim engellendi                                    2014-03-21   -17
“Büyük Rüşvet” Türkiye’yi sarstı                               2013-12-18   -17
17 Aralık’ın üzerinden 1 yıl geçti                             2014-12-17   -17
Olaylar Taksim çevresine sıçradı                               2013-05-31   -17
BDP’li vekillerin tahliye talebi reddedildi                    2013-12-16   -17
Kemal Kılıçdaroğlu’na Meclis’te yumruklu saldırı               2014-04-08   -17
Dört eski bakan için tek komisyon kurulacak                    2014-05-06   -17
Eski bakan çocukları ve Zarrab tahliye edildi                  2014-02-28   -18
Emniyette deprem; 5 şube müdürü değişti                        2013-12-18   -18
16 yaşındaki liseli Erdoğan’a hakaretten tutuklandı            2014-12-24   -18
Gezi’ye son kurban Eskişehir’den                               2013-07-10   -19
CHP 90 yaşında                                                 2013-09-09   -20
İstifa eden Bayraktar: “Başbakan istifa etmeli”                2013-12-25   -20
Deniz Gezmiş ve arkadaşları anıldı                             2014-05-06   -20
Ağaoğlu ve bazı bakan çocukları gözaltında                     2013-12-17   -21
Madımak Katliamı’nın 21′nci yıl dönümü                         2014-07-02   -21
21 yıldır aydınlanmayan suikast                                2014-01-24   -21
Hatay’da bir eylemci daha yaşamını yitirdi                     2013-09-10   -22
Sivas’ta yaşamını yitirenler anıldı                            2013-07-02   -24
Twitter yasağına tepkiler çığ gibi                             2014-03-21   -24
Deniz Gezmiş ve arkadaşları anıldı – nediyor.com               2013-05-06   -25
Çarşı hakim önünde: “Gücümüz olsa Kartal’ı şampiyon yapardık”  2014-12-16   -25
Fezlekeler okutulmadı; muhalefet ayaklandı                     2014-03-19   -28
Mustafa Balbay tahliye edildi                                  2013-12-10   -29
Berkin Elvan yaşam mücadelesini kaybetti                       2014-03-11   -44
dtype: int64

In [13]:
# Number of commentations on events by CHP MPs - Other MPs
diff['CHP'].order(ascending=False)


Out[13]:
title                                                   dt        
Mustafa Balbay tahliye edildi                           2013-12-10    27
21 yıldır aydınlanmayan suikast                         2014-01-24    19
Deniz Gezmiş ve arkadaşları anıldı – nediyor.com        2013-05-06    19
CHP 90 yaşında                                          2013-09-09    18
Berkin Elvan yaşam mücadelesini kaybetti                2014-03-11    16
Ecevit 8′inci ölüm yıl dönümünde anılıyor               2014-11-05    16
Twitter yasağına tepkiler çığ gibi                      2014-03-21    16
Madımak Katliamı’nın 21′nci yıl dönümü                  2014-07-02    15
Karanlıkta 20′nci yıl – nediyor.com                     2013-01-24    15
CHP 91 yaşında                                          2014-09-09    15
Sarısülük’ü öldürmekle suçlanan polis serbest           2013-06-24    14
Sivas’ta yaşamını yitirenler anıldı                     2013-07-02    14
Ali İsmail ölümünün 1′inci yıl dönümünde anıldı         2014-07-10    14
Eskişehir Belediyesi’nde 5 tutuklama – nediyor.com      2013-01-28    14
Berkin Elvan doğum gününde anılıyor                     2015-01-05    14
Fezlekeler okutulmadı; muhalefet ayaklandı              2014-03-19    14
16 yaşındaki liseli Erdoğan’a hakaretten tutuklandı     2014-12-24    14
Dört eski bakan için tek komisyon kurulacak             2014-05-06    13
Soruşturma Komisyonu: “Yüce Divan’a gerek yok”          2015-01-05    13
İsmet İnönü anıldı                                      2013-12-25    13
Deniz Gezmiş’in annesi yaşamını yitirdi                 2014-11-20    13
TMMOB’ye ağır Gezi faturası                             2013-07-10    13
Korkmaz davası 9 Ekim’e ertelendi                       2014-07-14    12
Yalova’da CHP önde; AK Parti itiraz edecek              2014-06-01    12
Ecevit 7′nci ölüm yıldönümünde anılıyor                 2013-11-05    12
Emniyette deprem; 5 şube müdürü değişti                 2013-12-18    12
Erdal İnönü anılıyor                                    2014-10-31    12
İstanbul’da 1 Mayıs: “142 gözaltı 90 yaralı”            2014-05-01    11
17 Aralık soruşturmasına takipsizlik kararı verildi     2014-10-17    11
Basın özgürlüğünde Türkiye yine geriledi – nediyor.com  2013-05-03    11
                                                                      ..
Öğretmenler günü kutlu olsun                            2013-11-24   -12
Paketten beklentiler farklı                             2013-09-30   -12
Mutlu yıllar Türkiye                                    2013-12-31   -13
27 Mayıs Darbesi’nin 53′üncü yılı                       2013-05-27   -13
Tartışmaların odağı Marmaray                            2013-10-27   -13
Kobani için eylem çağrısı yapan HDP’ye tepki            2014-10-07   -13
Çankaya Köşkü’nde devir teslim gerçekleşti              2014-08-28   -13
Erdoğan yemin etti; resmen 12′nci Cumhurbaşkanı         2014-08-28   -13
27 Mayıs’ın 54′üncü yılı                                2014-05-27   -14
Regaip Kandili kutlandı                                 2014-05-01   -14
Bugün Mevlid Kandili                                    2014-01-12   -14
MHP Genel Merkezi’ne arabalı saldırı                    2013-08-24   -14
Adnan Menderes idam edilmesinin 53′üncü yılı            2014-09-17   -14
Suriye’den ürküten işkence fotoğrafları                 2014-01-20   -14
AK Partililerden “DirenÇözüm” atağı                     2013-06-29   -15
Başbakan “Kürdistan bölgesini” selamladı                2013-11-16   -15
IMF ve dış borç tartışması dolu dizgin – nediyor.com    2013-05-14   -16
ODTÜ videosunun yankısı sürüyor                         2013-09-05   -16
Srebrenitsa’da 18 yıldır dinmeyen acı                   2013-07-11   -17
Ramazan ayı başladı                                     2013-07-09   -18
AK Parti 13′üncü yılını kutluyor                        2014-08-14   -18
AK Partili Şahin eşine veda etti                        2014-11-28   -19
Başörtülü milletvekilleri Meclis’te                     2013-10-31   -19
İşte demokratikleşme paketi                             2013-09-30   -19
Miraç Kandili kutlandı                                  2014-05-25   -20
AK Parti 11 yıldır iktidarda                            2013-11-03   -20
AK Parti’de Davutoğlu dönemi başladı                    2014-08-27   -23
Marmaray açıldı; ilk sefer yapıldı                      2013-10-29   -24
Başbakan Menderes anılıyor                              2013-09-17   -25
Genç’ten Emine Erdoğan protestosu                       2013-11-26   -26
dtype: int64

In [14]:
# Number of commentations on events by MHP MPs - Other MPs
diff['MHP'].order(ascending=False)


Out[14]:
title                                                        dt        
Bahçeli’yi çılgına çeviren görüntü                           2013-06-15     5
Bahçeli’den Başbakan’a ağır sözler                           2013-06-22     5
MHP’den Ankara mitingi                                       2013-11-09     5
TRT spikerinden “yavru muhalefet” gafı                       2014-01-25     5
Bahçeli’den açık tehdit – nediyor.com                        2013-03-23     4
Eski TBMM Başkanvekili yaşamını yitirdi                      2014-06-21     4
Bahçeli Elazığ’da sert konuştu                               2013-09-15     4
Bahçeli’den Başbakan için ağır ifadeler                      2013-10-26     4
Başbakan’dan Vali Coş’a destek: “Yedirmeyiz”                 2013-11-12     4
“Türk ırkı yok” tartışması dinmiyor                          2013-12-02     4
Alparslan Türkeş ölümünün 17′inci yılında anıldı             2014-04-04     3
Tahliye edilen Alan : “Ne kadar namussuz varsa…”             2014-06-20     3
Bahçeli’den AK Parti’ye ağır sözler                          2014-02-07     3
Şırnak Valisi: “Başbakan ve Öcalan’ı takdir ediyorum”        2014-05-30     3
MHP Türkmenler için yardım kampanyası başlattı               2014-06-21     3
Bahçeli Başbakan’ın “61″ hesabına takıldı                    2013-11-26     2
Asansör kazasıyla ilgili gözaltına alınan 9 kişi serbest     2014-09-07     2
AK Saray’ın ilk yabancı konuğu Papa olacak                   2014-11-07     2
Yurt genelinde ayakkabı kutulu eylemler                      2013-12-19     2
“Bakan Ala’nın kardeşi MEB’e atandı” iddiası                 2014-01-11     2
MHP’li Engin Alan’ın milletvekilliği düşecek                 2013-10-09     2
Mehmet Ali Şahin’den Bahçeli’ye sert eleştiri – nediyor.com  2013-04-21     2
TOKİ: “Kümbetin yanına yurdu biz yapmadık”                   2014-08-19     2
Twitter’a erişebilmek için farklı yöntemler                  2014-03-21     2
İstanbul Şişli’de “Bayrağa saygı” eylemi                     2014-06-09     2
Erdoğan’a sahte suikast yapılacak iddiası                    2014-01-30     2
MHP kurmaylarından selfie pozu                               2014-04-24     2
MHP Ali İsmail Korkmaz’a sahip çıktı                         2014-02-05     2
Zaman’dan hükümete yönelik ağır manşet                       2013-11-15     2
Devlet Bahçeli fezleke kıskacında – nediyor.com              2013-04-10     2
                                                                           ..
Cumhuriyet’in 91′inci yılı kutlu olsun                       2014-10-29   -27
21 yıldır aydınlanmayan suikast                              2014-01-24   -27
12 Eylül’ün üzerinden 34 yıl geçti                           2014-09-12   -27
Çanakkale Zaferi’nin 99′uncu yıl dönümü                      2014-03-18   -27
Mutlu yıllar Türkiye                                         2014-12-31   -27
Türkiye ateş çemberinde – nediyor.com                        2013-05-11   -27
AK Parti’de Davutoğlu dönemi başladı                         2014-08-27   -27
Darbenin adı: 12 Eylül 1980                                  2013-09-12   -28
Hatay’da bir eylemci daha yaşamını yitirdi                   2013-09-10   -28
Marmaray açıldı; ilk sefer yapıldı                           2013-10-29   -28
Nice 19 Mayıslara…                                           2013-05-19   -28
Paketten beklentiler farklı                                  2013-09-30   -28
Hacıbektaş saldırganı serbest                                2013-08-18   -29
Mustafa Balbay tahliye edildi                                2013-12-10   -29
24 Kasım Öğretmenler Günü kutlu olsun                        2014-11-24   -30
Nejat Uygur yaşamını yitirdi                                 2013-11-18   -30
Sivas’ta yaşamını yitirenler anıldı                          2013-07-02   -30
Ramazan ayı başladı                                          2013-07-09   -30
Başörtülü milletvekilleri Meclis’te                          2013-10-31   -31
Büyük Zafer’in 92′nci yılı                                   2014-08-30   -31
Genç’ten Emine Erdoğan protestosu                            2013-11-26   -32
Bugün Dünya Engelliler Günü                                  2014-12-03   -34
Büyük Zafer’in 91′inci yılı                                  2013-08-30   -35
Kemal Kılıçdaroğlu’na Meclis’te yumruklu saldırı             2014-04-08   -35
Bugün Dünya Engelliler Günü                                  2013-12-03   -37
Mutlu yıllar Türkiye                                         2013-12-31   -39
Cumhuriyet’in 90′ıncı yılı kutlu olsun                       2013-10-29   -40
Berkin Elvan yaşam mücadelesini kaybetti                     2014-03-11   -42
Öğretmenler günü kutlu olsun                                 2013-11-24   -44
İşte demokratikleşme paketi                                  2013-09-30   -45
dtype: int64

In [15]:
# Number of commentations on events by HDP MPs - Other MPs
diff['HDP'].order(ascending=False)


Out[15]:
title                                                       dt        
Mardin ve Hakkari’de duvar gerginliği                       2013-11-07     5
“Demokrasi ve Barış Konferansı” sona erdi                   2013-05-25     5
“Hayata Dönüş” utancının 13′üncü yılı                       2013-12-19     5
Paris’teki 3′lü cinayetin üzerinden 2 yıl geçti             2015-01-09     4
3 PKK’lının cenazesi Diyarbakır’da – nediyor.com            2013-01-16     4
BDP yerel seçim stratejisini belirledi                      2013-09-09     4
Van Belediye Başkanı serbest – nediyor.com                  2013-03-29     3
HDP kongresinde Kürkçü kalp krizi geçirdi                   2013-10-27     3
Öcalan’ın son fotoğrafı Twitter’da                          2013-12-20     3
Ağrı’da oylar yeniden sayılıyor                             2014-04-04     3
Mehmet Öcalan serbest bırakıldı                             2013-08-04     3
Uludere raporu kabul edildi – nediyor.com                   2013-03-27     3
HDP eş genel başkanları seçildi                             2014-06-22     3
Paris cinayetlerinin yıl dönümünde gerginlik                2014-01-09     3
“Şanlıurfa’da sınırı geçen bir kadın öldürüldü” iddiası     2014-11-06     3
Demirtaş’tan TRT ekranında TRT’ye gönderme                  2014-08-03     2
Öcalan’dan yeni mesaj                                       2013-10-14     2
BDP-HDP heyetinden İmralı açıklaması                        2014-03-09     2
Demirtaş’ın adaylık dilekçesi TBMM’ye sunuldu               2014-07-01     2
13 faili meçhulden yargılanan Çitil’e beraat                2014-05-21     2
HDP Köşk adayını açıkladı: Selahattin Demirtaş              2014-06-30     2
Cizre’de 14 yaşındaki çocuk yaşamını yitirdi                2015-01-06     2
Askerden itiraf: “Köy yakma taburuyduk”                     2013-11-10     2
BDP Eş Başkanı Demirtaş hastaneye kaldırıldı – nediyor.com  2013-03-11     2
BDP’li iki vekil tahliye edildi                             2014-01-03     2
Gözaltına alınan HDP’liler serbest bırakıldı                2015-01-05     2
BDP’li vekiller HDP’ye katılma kararı aldı                  2014-04-18     2
Ankara’da 2015 Bütçesi’ne karşı eylem                       2014-12-13     2
IŞİD Suriye’de Kürtlerin yaşadığı bölgelere saldırıyor      2014-07-10     2
“PKK terörizmi” ifadesi rapordan çıkarıldı  – nediyor.com   2013-04-23     2
                                                                          ..
Sivas’ta yaşamını yitirenler anıldı                         2013-07-02   -28
Mutlu yıllar Türkiye                                        2014-12-31   -29
AK Parti’de Davutoğlu dönemi başladı                        2014-08-27   -29
Mustafa Balbay tahliye edildi                               2013-12-10   -29
Hacıbektaş saldırganı serbest                               2013-08-18   -29
Kemal Kılıçdaroğlu’na Meclis’te yumruklu saldırı            2014-04-08   -29
Darbenin adı: 12 Eylül 1980                                 2013-09-12   -30
İşte kabinenin 10 yeni üyesi                                2013-12-25   -30
Marmaray açıldı; ilk sefer yapıldı                          2013-10-29   -30
Başörtülü milletvekilleri Meclis’te                         2013-10-31   -31
Türkiye ateş çemberinde – nediyor.com                       2013-05-11   -31
Genç’ten Emine Erdoğan protestosu                           2013-11-26   -32
Bugün Mevlid Kandili                                        2014-01-12   -32
MHP seçim bürosuna silahlı saldırı: 1 ölü                   2014-01-26   -32
Fezlekeler okutulmadı; muhalefet ayaklandı                  2014-03-19   -32
Nejat Uygur yaşamını yitirdi                                2013-11-18   -32
Cumhuriyet’in 91′inci yılı kutlu olsun                      2014-10-29   -33
Çanakkale Zaferi’nin 99′uncu yıl dönümü                     2014-03-18   -33
Bugün Dünya Engelliler Günü                                 2013-12-03   -33
                                                            2014-12-03   -34
Mutlu yıllar Türkiye                                        2013-12-31   -35
Büyük Zafer’in 92′nci yılı                                  2014-08-30   -35
Nice 19 Mayıslara…                                          2013-05-19   -36
Berkin Elvan yaşam mücadelesini kaybetti                    2014-03-11   -36
24 Kasım Öğretmenler Günü kutlu olsun                       2014-11-24   -36
Ramazan ayı başladı                                         2013-07-09   -40
Büyük Zafer’in 91′inci yılı                                 2013-08-30   -41
Cumhuriyet’in 90′ıncı yılı kutlu olsun                      2013-10-29   -42
İşte demokratikleşme paketi                                 2013-09-30   -45
Öğretmenler günü kutlu olsun                                2013-11-24   -48
dtype: int64

In [16]:
# Number of commentations on events by Independent MPs - Other MPs
diff['Independent'].order(ascending=False)


Out[16]:
title                                                       dt        
“Kimse Yok Mu”nun yetkisi elinden alındı                    2014-10-02     3
Cizre’de polise roketli saldırı: 2 yaralı                   2015-01-07     3
Ankara’da 13 polise “usulsüz taltif” iddiasıyla gözaltı     2014-09-22     3
İETT’den Cemaat hamlesi: Fatih Üni. hattı kaldırıldı        2014-09-23     3
İBB’nin gündemi Fatih Koleji: Bayramda yıkım                2014-10-06     3
“Kimse Yok Mu” derneği kapatılıyor mu?                      2014-09-29     3
Tuğluk: “PKK ta­ri­hi­nin en güç­lü dö­ne­mi­ni ya­şı­yor”  2014-08-26     2
PKK İzmir’de yol kesti                                      2014-05-30     2
IŞID’den petrol alındığı haberine Erdoğan’dan yalanlama     2014-09-16     2
Başbakan’a “Apo” tepkisi                                    2014-07-28     2
Saraç YÖK Başkanı’na hakaret mi etti?                       2014-02-22     2
PKK’lı Karasu: “AK Partili bakan adeta bize yalvardı”       2014-11-28     2
Saray’ın maliyetini açıklayan Şimşek’e Erdoğan kızdı mı?    2014-11-07     2
Genelkurmay: “PKK Ağrı’da mahkeme kurdu”                    2014-09-20     2
Şırnak’ta silahlı PKK’lılar yol kesti                       2014-12-05     2
“THY 200 İranlı pilot alacak” iddiası Meclis’e taşındı      2014-09-16     2
Dışişleri’nden “dinleme” açıklaması                         2014-09-01     2
“AK Saray’da bir koltuk 25 bin euro” iddiası                2014-11-30     2
PKK Muş’ta 10 çocuğu kaçırdı                                2014-09-08     2
Şükür’ün adı bir stadyumdan daha söküldü                    2014-04-13     2
Muş’ta PKK yanlıları yurt ve dershane yaktı                 2014-08-24     2
PKK Cizre’de iki mahallede “özerklik” mi ilan etti?         2014-10-26     2
Dışişleri’nden açıklama: “Taraf’ın haberi asılsız”          2014-08-21     2
Yeni Şafak Aksoy ile yollarını ayırdı                       2014-01-11     2
Ala: “Polis okullarının kapatılması şart”                   2014-11-29     2
17 polis yanlışlıkla gözaltına alındı                       2014-11-08     2
Karaman’dan iktidara: “Üzerimize bela yağacak”              2014-12-05     2
Akşam’ın “Ötüken” manşeti istifa getirdi                    2014-04-14     2
Ankara’da “paralel yapı” iddiasıyla yeni operasyon          2014-10-21     2
Savcı: “Gerekirse 500 bin kişiyi gözaltına alırız”          2014-08-05     2
                                                                          ..
“Büyük Rüşvet” Türkiye’yi sarstı                            2013-12-18   -27
Hacıbektaş saldırganı serbest                               2013-08-18   -27
Mustafa Balbay tahliye edildi                               2013-12-10   -27
Başbakan’dan Kazlıçeşme mesajları                           2013-06-16   -27
Nejat Uygur yaşamını yitirdi                                2013-11-18   -28
Paketten beklentiler farklı                                 2013-09-30   -28
İşte kabinenin 10 yeni üyesi                                2013-12-25   -28
Bugün Mevlid Kandili                                        2014-01-12   -28
Sivas’ta yaşamını yitirenler anıldı                         2013-07-02   -28
Büyük Zafer’in 92′nci yılı                                  2014-08-30   -29
AK Parti’de Davutoğlu dönemi başladı                        2014-08-27   -29
Genç’ten Emine Erdoğan protestosu                           2013-11-26   -30
Darbenin adı: 12 Eylül 1980                                 2013-09-12   -30
Çanakkale Zaferi’nin 99′uncu yıl dönümü                     2014-03-18   -31
Türkiye ateş çemberinde – nediyor.com                       2013-05-11   -31
Başörtülü milletvekilleri Meclis’te                         2013-10-31   -31
Cumhuriyet’in 91′inci yılı kutlu olsun                      2014-10-29   -31
24 Kasım Öğretmenler Günü kutlu olsun                       2014-11-24   -32
Bugün Dünya Engelliler Günü                                 2014-12-03   -32
Kemal Kılıçdaroğlu’na Meclis’te yumruklu saldırı            2014-04-08   -33
Mutlu yıllar Türkiye                                        2014-12-31   -35
Bugün Dünya Engelliler Günü                                 2013-12-03   -35
Nice 19 Mayıslara…                                          2013-05-19   -36
Ramazan ayı başladı                                         2013-07-09   -38
Büyük Zafer’in 91′inci yılı                                 2013-08-30   -39
Cumhuriyet’in 90′ıncı yılı kutlu olsun                      2013-10-29   -40
Mutlu yıllar Türkiye                                        2013-12-31   -41
Berkin Elvan yaşam mücadelesini kaybetti                    2014-03-11   -44
Öğretmenler günü kutlu olsun                                2013-11-24   -46
İşte demokratikleşme paketi                                 2013-09-30   -49
dtype: int64

In [17]:
G=nx.Graph()
# add vertices
for p in groups:
    for politician in group[p]:
        G.add_node(politician, group=p)

In [18]:
def updateG(group,G,politicians):
    """ Create weighted edges """
    edges = itertools.combinations(group.tolist(), 2)
    for v1,v2 in edges:
        if v1 not in politicians or v2 not in politicians:
            continue
        if G.has_edge(v1, v2):
            G[v1][v2]['weight'] += 1
        else:
            G.add_edge(v1, v2, weight=1)

In [19]:
# add edges
title.apply(updateG,G,mps)
# print number of nodes and edges
print (G.number_of_nodes(),G.number_of_edges())


167 10236

In [22]:
# Exporting to be read by Gephi for better visualization
nx.write_gml(G,"data/nediyor_politics.gml")

See the interactive output here: TBMM Co-commentation Network Visualization


In [28]:
# calculate the likelihood of tie formation among parties
# AKP-AKP, AKP-CHP, AKP-MHP, AKP-HDP, AKP-Bagimsiz
G = nx.read_gml("data/nediyor_politics.gml")

In [69]:
def get_likelihood(g1,g2):
    """ returns tie formation likelihood of group1 and group2"""
    groups = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
    likelihoods = []
    for politician in G:
        if G.node[politician]['group'] != g1:
            continue
        g2weight = .0 # sum of edge weights of nbors whose party is g2
        total = .0 # sum of all edge weights (all neighbors)
        for nbor in G[politician]:
            if G.node[nbor]['group'] == g2:
                g2weight += G[politician][nbor]['weight']
            total += G[politician][nbor]['weight']
        if total > 0:
            likelihoods.append(g2weight/total)
    l = sum(likelihoods)/len(likelihoods)
    print(g1+'-'+g2+' likelihood {:.2f}'.format(l))
    return l

In [72]:
groups  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
for g1 in groups:
    for g2 in groups:
        if groups.index(g1)>groups.index(g2):
            continue
        get_likelihood(g1,g2)


AKP-AKP likelihood 0.47
AKP-CHP likelihood 0.36
AKP-MHP likelihood 0.08
AKP-HDP likelihood 0.03
AKP-Independent likelihood 0.06
CHP-CHP likelihood 0.59
CHP-MHP likelihood 0.09
CHP-HDP likelihood 0.05
CHP-Independent likelihood 0.05
MHP-MHP likelihood 0.13
MHP-HDP likelihood 0.03
MHP-Independent likelihood 0.09
HDP-HDP likelihood 0.17
HDP-Independent likelihood 0.05
Independent-Independent likelihood 0.09

In [ ]:
#community detection
import

In [65]:
def get_party_representation():
    """ Plot Tweep Rate by (i) MP counts, (ii) Monitored MP counts """

    #http://www.tbmm.gov.tr/develop/owa/milletvekillerimiz_sd.dagilim
    chairs = {'AKP':312, 'CHP':125, 'HDP':27, 'MHP':52, 'Independent':13}
        
    df = pd.read_csv('data/TR-tweeps-En.csv',encoding='utf-8')
    groups  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
    group = {}
    mps = set()
    for p in groups:
        group[p] = set(df[df.profs.str.contains(p)].twhandle.tolist())
        mps.update(group[p])
    
    y1=[int((len(group[p])*1.0/chairs[p])*100+0.5) for p in groups]
    y2=[len(group[p]) for p in groups]
    trace1 = Bar(x=groups, y=y1, name='Percentage of MPs normalized by # of chairs')
    trace2 = Bar(x=groups, y=y2, name='Plain number of MPs monitored')
    data = Data([trace1, trace2])
    
    layout = Layout(autosize=True,
        title='Members of TBMM monitored',
        barmode='group',
        legend=Legend(xanchor='right',yanchor='top', y=1,traceorder='normal'),
        yaxis=YAxis(title='MPs monitored by nediyor.com'),
        #yaxis2=YAxis(title='Percentage of MPs',side='right',overlaying='y',anchor='x')
    )
    fig = Figure(data=data, layout=layout)
    return py.iplot(fig,filename='MPs monitored by nediyor.com')


def get_party_activity():
    """ Plot Twitter Usage normalized by (i) MP counts, (ii) Monitored MP counts """

    # plot commentating activity of parties
    df = pd.read_csv('data/TR-tweeps-En.csv',encoding='utf-8')
    x  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
    df = df[df.profs.str.contains('|'.join(x))]
    mparty = dict(zip(df.twhandle, df.profs.map(lambda mp: [p for p in x if p in mp][0])))

    tweets = pd.read_csv('data/TR-tweets.csv',encoding='utf-8',parse_dates=['dt'])
    tweets['twhandle']=tweets['twhandle'].str[1:]
    tweets = tweets.rename(columns={'twtext':'twcnt'})
    tweeps = tweets.groupby(by='twhandle')['twcnt'].count().order(ascending=False)
    poltweeps = tweeps[tweeps.index.isin(df.twhandle)]
    
    vekil = pd.DataFrame.from_dict(mparty,orient='index')
    vekil.index.name = 'twhandle'
    vekil.columns = ['party']
    df = pd.DataFrame(poltweeps).join(vekil)
    
    #http://www.tbmm.gov.tr/develop/owa/milletvekillerimiz_sd.dagilim
    parties = {'AKP':312, 'CHP':125, 'HDP':27, 'MHP':52, 'Independent':13}
    mpc = sum(parties.values())
        
    # Parties' newsworthy tweet counts normalized by MP counts
    perMP = {}
    for p,cnt in parties.items():
        perMP[p] = df[df.party == p].twcnt.sum()/float(cnt)

    # Parties' newsworthy tweet counts normalized by MPs with Twitter accounts
    perTweep = {}
    for p,cnt in parties.items():
        perTweep[p] = df[df.party == p].twcnt.sum()/float(df[df.party == p].shape[0])
    
    
    x  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
    y1 = [int((perMP[p] * 100) + 0.5) / 100.0 for p in x]
    y2 = [int((perTweep[p] * 100) + 0.5) / 100.0 for p in x]
    #tweep/mp ratio
    # y = [df[df.profs.str.contains(p)].shape[0] for p in x]
    
    texts = []
    for p in x:
        twpset = poltweeps.index.tolist()
        text = u''
        for i,twp in enumerate(twpset):
            #twp = '<a href="http://twitter.com/'+twp[1:]+'">'+ twp +'</a>'
            text+= ' '+ twp if (i+1) % 10 != 0 else '<br>'+twp
        texts.append(text)
        
    trace1 = Bar(x=x, y=y1, name='normalized by MP counts') #, text = texts
    trace2 = Bar(x=x, y=y2, name='normalized by curated tweep counts')
    data = Data([trace1, trace2])
    layout = Layout(autosize=True,
        title="Newsworthy Tweet Counts",
        barmode='group',
        legend=Legend(x=0, y=1,traceorder='normal'),
        yaxis=YAxis(title='Number of newsworthy tweets per MP'),
        annotations=Annotations([
            Annotation(
            text='Code and datasets are available on <a href="https://github.com/oztalha/News-Commentary-Tweets-of-Elites">github.com/oztalha</a><br>'\
                 'Two years of curated tweets are scraped from <a href="http://nediyor.com/">nediyor.com</a>',
            showarrow=False,
            x=0.01,
            y=0.85,
            xref='paper',
            yref='paper',
            xanchor='left',
            yanchor='top',
            align='left'
            ),
        ]))
    fig = Figure(data=data, layout=layout)
    return py.iplot(fig, filename='Newsworthy Tweet Counts of Turkish Parties')


def plot_MP_activity():
    # plot commentating activity of these politicians
    df = pd.read_csv('data/TR-tweeps-En.csv',encoding='utf-8')
    x  = ['AKP', 'CHP', 'MHP', 'HDP','Independent']
    df = df[df.profs.str.contains('|'.join(x))]
    mparty = dict(zip(df.twhandle, df.profs.map(lambda mp: [p for p in x if p in mp][0])))

    tweets = pd.read_csv('data/TR-tweets.csv',encoding='utf-8',parse_dates=['dt'])
    tweets['twhandle']=tweets['twhandle'].str[1:]
    tweeps = tweets.groupby(by='twhandle')['twtext'].count().order(ascending=False)
    poltweeps = tweeps[tweeps.index.isin(df.twhandle)]
    partycolors = {'AKP':'orange', 'CHP':'red', 'MHP':'green', 'HDP':'purple','Independent':'cyan'}
    colors = [partycolors[mparty[x]] for x in poltweeps.index]
    data = Data([Bar(
            x=poltweeps.index,
            y=poltweeps.values,
            marker=Marker(color=colors)
            )])
    layout = Layout(autosize=True, margin=Margin(b=111),
                    yaxis=YAxis(title='# of news commentated (Jan 2013 - Jan 2015)'),
                    title="News commentated by Members of TBMM (curated by nediyor.com)")
    fig = Figure(data=data, layout=layout)
    return py.iplot(fig,filename="TBMM as News Commentators")

In [13]:
tweets = pd.read_csv('data/TR-tweets.csv',encoding='utf-8',parse_dates=['dt'])
    tweets['twhandle']=tweets['twhandle'].str[1:]
    tweeps = tweets.groupby(by='twhandle')['twtext'].count().order(ascending=False)
    poltweeps = tweeps[tweeps.index.isin(df.twhandle)]

In [77]:
for k,v in mparty.items():
    if v == 'Independent':
        print(k)


idrisbal
Mv_MCetin
hakansukur
ErtugrulGunay

In [49]:
for p,cnt in parties.items():
        print(p,df[df.party == p].twcnt.sum(), df[df.party == p].shape[0])


Independent 1915 4
MHP 3039 13
HDP 1139 17
CHP 14205 58
AKP 6677 74